package chixing.day13.work;

import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Set;

public class BlogTest {
    public static void main(String[] args) {
        // 创建文章并尝试添加重复标签
        BlogPost article1 = new BlogPost("Java编程入门");
        article1.addTag("编程");  // 第一次添加，成功
        article1.addTag("Java");
        article1.addTag("编程");  // 第二次添加，会被过滤
        article1.addTag("入门");
        article1.addTag("编程");  // 第三次添加，会被过滤

        BlogPost article2 = new BlogPost("Python数据分析");
        article2.addTag("Python");
        article2.addTag("编程");  // 与article1的"编程"重复（全局仍会去重）
        article2.addTag("数据分析");
        article2.addTag("Python"); // 同一文章内重复，会被过滤

        // 展示文章自己的标签列表（已内部去重）
        System.out.println("=== 单篇文章的标签（已内部去重） ===");
        System.out.println(article1.getTitle() + "的标签: " + article1.getTags());
        System.out.println(article2.getTitle() + "的标签: " + article2.getTags());

        // 收集所有文章
        List<BlogPost> articles = new ArrayList<>();
        articles.add(article1);
        articles.add(article2);

        // 全局标签去重处理
        Set<String> uniqueTags = new HashSet<>();
        for (BlogPost article : articles) {
            uniqueTags.addAll(article.getTags());
        }

        // 展示结果
        System.out.println("\n=== 全局去重后的所有标签 ===");
        System.out.println(uniqueTags);
        System.out.println("\n系统中不同标签的总数: " + uniqueTags.size());
    }
}
